package cn.ilikes.tools.hbase.jpa.clients.datahander;

import java.util.List;

import org.apache.hadoop.hbase.client.Result;

import cn.ilikes.tools.hbase.jpa.clients.JPAHBaseClientsException;
import cn.ilikes.tools.hbase.jpa.clients.nodes.Node;
import cn.ilikes.tools.hbase.jpa.metadatas.IEntityMetaData;

public interface DataHander {

	public void save(Node node) throws JPAHBaseDataHnaderException;

	public void update(Node node) throws JPAHBaseDataHnaderException;

	public void remove(Node node) throws JPAHBaseDataHnaderException;

	public Result find(IEntityMetaData entityMetaData, Object key) throws JPAHBaseDataHnaderException;

	public Result[] seach(IEntityMetaData entityMetaData, List keyIds) throws JPAHBaseDataHnaderException;
	
	public byte[]  findValue(IEntityMetaData entityMetaData,Object key, String family,String qualifier) throws JPAHBaseDataHnaderException;

	public void flush();

	public boolean isOpen();

}